In save mode, don't return paths containing nonexisting directories.
authorMatthias Clasen <mclasen@redhat.com>
Wed, 19 Jan 2005 21:05:15 +0000 (21:05 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Wed, 19 Jan 2005 21:05:15 +0000 (21:05 +0000)
2005-01-19  Matthias Clasen  <mclasen@redhat.com>

* gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
In save mode, don't return paths containing nonexisting
directories.  (#162443, Jean Marie Favreau)

ChangeLog
ChangeLog.pre-2-10
ChangeLog.pre-2-8
gtk/gtkfilechooserdefault.c

index 90793f3142452fea8fb8ff81889db54b1d6610af..7f8098ba120ae2ca9d8bb316593ed616ee8bb6f7 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
+       In save mode, don't return paths containing nonexisting 
+       directories.  (#162443, Jean Marie Favreau)
+
        * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit 
        macros to avoid sparse warnings. Pointed out by Kjartan Maraas.
 
index 90793f3142452fea8fb8ff81889db54b1d6610af..7f8098ba120ae2ca9d8bb316593ed616ee8bb6f7 100644 (file)
@@ -1,5 +1,9 @@
 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
+       In save mode, don't return paths containing nonexisting 
+       directories.  (#162443, Jean Marie Favreau)
+
        * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit 
        macros to avoid sparse warnings. Pointed out by Kjartan Maraas.
 
index 90793f3142452fea8fb8ff81889db54b1d6610af..7f8098ba120ae2ca9d8bb316593ed616ee8bb6f7 100644 (file)
@@ -1,5 +1,9 @@
 2005-01-19  Matthias Clasen  <mclasen@redhat.com>
 
+       * gtk/gtkfilechooserdefault.c (gtk_file_chooser_default_should_respond):
+       In save mode, don't return paths containing nonexisting 
+       directories.  (#162443, Jean Marie Favreau)
+
        * gtk/gtkobject.c (gtk_object_add_arg_type): Use GLib limit 
        macros to avoid sparse warnings. Pointed out by Kjartan Maraas.
 
index 110da70ec9b7ab72548ac7b0976f6678f33c5732..91ba27d47c1b555009e534c72f3c026487b4f2f3 100644 (file)
@@ -5370,7 +5370,19 @@ gtk_file_chooser_default_should_respond (GtkFileChooserEmbed *chooser_embed)
          retval = FALSE;
        }
       else
-       retval = TRUE;
+       {
+         /* check that everything up to the last component exists */
+         gtk_file_path_free (path);
+         path = gtk_file_path_copy (_gtk_file_chooser_entry_get_current_folder (entry));
+         is_folder = check_is_folder (impl->file_system, path, NULL);
+         if (!is_folder)
+           {
+             change_folder_and_display_error (impl, path);
+             retval = FALSE;
+           }
+         else
+           retval = TRUE;
+       }
 
       gtk_file_path_free (path);
       return retval;